﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace LogManager.Base.Data
{
    /// <summary>
    /// Returns log types that are configured somewhere
    /// </summary>
    public interface ILogTypeService
    {
        /// <summary>
        /// List of types of the logs
        /// </summary>
        /// <returns>Dictionary with typeId and Type</returns>
        IDictionary<string, Type> All();

        /// <summary>
        /// Get type of adistinct id
        /// </summary>
        /// <param name="typeId">Id of the type</param>
        /// <returns>Type</returns>
        Type Get(string typeId);

        /// <summary>
        /// Get typeId for a defined type
        /// </summary>
        /// <param name="type">Type to resolve id</param>
        /// <returns>Associated id with the type</returns>
        string Get(Type type);
    }
}